{{tag>Hardy Intrepid Jaunty jeu course wine}}
----
====== TrackMania Nations Forever ======

**Trackmania Nations Forever** est un jeu gratuit de course automobile orienté arcade. Très simple, il est d'une excellente jouabilité et très rythmé.

{{ :jeux:tmnf_01.png}}
On peut noter que **Trackmania United Forever**, la version complète et payante du jeu, s'installe exactement de la même manière, seul le nom de l'exécutable change.


Il est possible de jouer seul ou à plusieurs localement mais sa popularité vient de son mode en ligne où des centaines de milliers de joueurs se retrouvent sur différents serveurs hébergeant des milliers de pistes de toutes sortes. Vous pouvez d'ailleurs vous-même installer un [[serveur Trackmania]] sur votre ordinateur.

Développé pour Windows(r), ce jeu fonctionne sous Linux - et donc Ubuntu - grâce à [[:wine|Wine]]. Un script [[:PlayOnLinux]] facilite son installation car il permet d'exécuter toutes les manipulations nécessaires automatiquement. Les deux types d'installation, avec et sans PlayOnLinux, sont expliqués ici. Pour installer le jeu via Steam, voir [[trackmania_nations_forever_steam|cette page]].

Pour créer un serveur dédié Trackmania, tout est expliqué sur la page:  [[serveur trackmania| serveur Trackmania]].

===== Installation avec PlayOnLinux =====

**Version antérieure à la 3.0.8**
<note important>Il est fortement recommandé de mettre PlayOnLinux à jour.</note>
Après avoir préalablement installé [[apt://playonlinux|playonlinux]], installez playonlinux script creator pour l'[[edition script playonlinux]].
<note warning>Faites attention car des problèmes ont été détectés avec ce script. La meilleur méthode reste de tout installer manuellement [[trackmania_nations_forever#installation_sans_playonlinux|sans PlayOnLinux]].</note>
Un script PlayOnLinux a été validé, il est disponible à cette adresse : [[http://www.playonlinux.com/repository/?script=227|Script]].
Il suffit de le lancer comme proposé sur la page d'[[edition script playonlinux|édition de script playonlinux]] mais je vous conseille d'attendre car le script n'étant pas très au point, et génère des erreurs comme évoqué ci-dessus. Je suis en train de faire une variante pour l'améliorer et le rendre sans erreur.

**Version ultérieure à la 3.0.8 (celle actuellement dans les dépots)**

Après avoir installé [[apt://playonlinux|playonlinux]], rendez vous dans le gestionnaire de script en cliquant sur //installer//, rechercher le script correspondant à Trackmania Nations For ever et suivez les instructions. 

===== Installation sans PlayOnLinux =====
Cette section explique l'installation de Trackmania à partir de l'installeur de Nadeo. Les instructions pour installer Trackmania Via Steam sont disponibles sur la page [[trackmania_nations_forever_steam]].

==== Pré-requis ====

Avoir [[:tutoriel:comment_installer_un_paquet|installé]] [[:wine|Wine]].[[apt://wine|{{:apt.png|Installer Wine en 1 clic.}}]]

Avoir téléchargé le jeu. C'est un fichier de 504Mo appelé //tmnationsforever_setup.exe// et disponible à partir de nombreux sites de téléchargement, par exemple [[http://games.softpedia.com/get/Freeware-Games/TrackMania-Nations-Forever-Free-Full-Game.shtml|ici]], [[http://files.filefront.com/TrackMania+Nations+Forever+Free+Full+Game/;10013754;/fileinfo.html|là]] ou encore [[http://www.clubic.com/demo-jeux-video-11300-0-trackmania-nations-forever.html|là]].


==== Installation ====

Double-cliquez sur le fichier //tmnationsforever_setup.exe//. Wine lancera alors le fichier d'installation. Choisissez la langue de l'assistant d'installation et laissez-vous guider.

{{ :jeux:tmnf_03.png?300}}


Ainsi installé, c'est jouable, mais le son est de trés mauvaise qualité, il vous faudra mettre les effets graphiques au minimum et le joystick ne fonctionnera probablement pas. Suivez les indications ci-dessous si vous souhaitez améliorer tout ça.
==== Résolution de soucis ====

=== Le son ===
Pour que le son fonctionne correctement, il faut remplacer la librairie wrap_oal.dll  présente dans le répertoire d'installation (par défaut //~/.wine/drive_c/Program Files/TmNationsForever//) par celle-ci:
[[http://www.dllbank.com/zip/w/wrap_oal.dll.zip|wrap_oal.dll.zip]]
(n'oubliez pas de la dézipper auparavant).

=== L'image ===
Pour pouvoir profiter de ce jeu vous devez, soit jouer avec les options video les plus faibles, soit installer [[:wine_directx|DirectX]]. Sinon, une erreur apparaîtra, signalant que la version de directX n'est pas à jours.
<note tip>Vous pouvez aussi simplement copier la dll "d3dx9_30.dll" dans votre répertoire de Trackmania. On peut télécharger cette dll sur [[http://www.dll-files.com/dllindex/dll-files.shtml?d3dx9_30|dll-files]]. </note>

=== Problème de joystick ===
La version de Wine présente actuellement dans les dépôts Hardy comporte un bug introduit dans une ancienne version de Wine qui rend l'utilisation normale d'un joystick/joypad impossible: la direction "gauche" étant interprétée comme "droite" sous certaines conditions. Ce bug étant corrigé dans la version 1.0rc2, il est conseillé à ceux que le clavier ne suffit pas de mettre à jour Wine via les dépôts de [[:wine#avec_le_depot_de_winehq|WineHQ]].

=== Boîtes de dialogue transparentes ===
<del>Lorsque les boîtes de dialogue sont transparentes, allez dans la configuration du Launcher et mettez la qualité des shaders en PC1 ou PC0.</del>
Avec Wine 1.1.1 (ou version supérieur) en PC2 les boîtes de dialogue s'affichent correctement. Plus besoin de mettre PC1 ou PC0.

=== Problèmes d'affichage ===
Lorsque vous jouez, si vous avez des textures qui manquent (tout est noir) et que le jeu plante souvent en retournant des erreurs "GL_OUT_OF_MEMORY", utilisez Wine 1.1.19 (ou version supérieur) . Voir [[wine]] pour installer la toute dernière vesion de wine.
<note>Personnellement je joue avec la dernière version de wine, j'ai mis les options en PC2 et le jeu ne plante jamais. ;-)</note>

=== Jeu lent ===
Si le jeu devient lent pendant les téléchargements et lorsque vous jouez en ligne, essayez de désactiver le ''download'' (onglet Peer-to-peer) dans les options avancées du Launcher.
<note>Avec la version 1.1.22 de wine, le jeu est un peu plus fluide pendant les téléchargements. Voir [[wine]] pour installer la toute dernière version de wine.</note>

=== Reflet de l'eau ===
Si l'eau ne reflète pas le ciel, mais une texture grise pas très jolie, ouvrez regedit:
<code> wine regedit </code>
Allez dans: HKEY_CURRENT_USER -> Software -> Wine -> Direct3D. //(Si le dossier Direct3D n'existe pas, créez le. Pour cela, faites clique droit sur le dossier "Wine" et ensuite: Nouvelle -> Clé)//

Dans le dossier Direct3D, ajoutez des valeurs chaînes (Nouvelle -> Valeur chaîne) ou modifiez celles déjà existantes pour obtenir ceci:
^Nom  ^Type  ^Valeur ^Autre possibilité de valeur ^
| DirectDrawRender | REG_SZ | OpenGL | gdi |
| Multisampling | REG_SZ | enabled |
| OffscreenRenderingMode | REG_SZ | fbo |backbuffer|
| PixelShaderMode | REG_SZ | enabled |
| UseGLSL | REG_SZ | enabled |
| VertexShaderMode| REG_SZ | hardware |
Vous n'aurez peut être pas besoin de toutes les ajouter pour que le reflet de l'eau soit correcte, essayez vous-mêmes celles qui sont nécessaires. Vous pouvez utiliser les valeurs de la colonne //"Autre possibilité de valeur"// si celles de la colonne //"Valeur"// ne fonctionnent pas. //Une liste de toutes options est disponible [[http://wiki.winehq.org/UsefulRegistryKeys|ici]] pour les personnes qui désirent faire plus d'essais.//
Avec ces options et la dernière version de wine, **vous pouvez jouer en PC3** mais le jeu est un peu lent, même avec une bonne carte graphique. Le mieux est de rester en PC2. 

<note important> Activer le Multisampling permet de résoudre des problèmes, dont le bug de reflet, mais vous risquez d'avoir des erreurs ''GLXBadDrawable'' qui vous obligeront à redémarrer le serveur X (''Ctrl+Alt+Backspace'')</note>

=== Améliorer les performances ===
Un des moyen d'augmenter la fluidité de Trackmania avec wine est de le lancer dans un nouveau serveur X (voir section: [[trackmania_nations_forever#jouer_sous_un_autre_serveur_x|Jouer sous un autre serveur X]]). Sinon vous pouvez aussi démarrer Trackmania avec //"WINEDEBUG=-all"//. Les erreurs n'apparaîtront plus dans le terminal mais cela peut améliorer un peu les performances. //Vous pouvez trouver plus d'infos sur cette petite astuce dans la page [[wine_trucs_et_astuces]] dans la section [[wine_trucs_et_astuces#ameliorer_les_performances_dans_les_jeux]].//
<code> WINEDEBUG=-all wine TmForeverLauncher.exe </code>


===== Jouer sous un autre serveur X =====

Cette technique permet souvent de résoudre certains problèmes graphiques, et d'améliorer les performances et la fluidité. Pour cela vous devez créer un script qui lancera Trackmania pour vous :

Tout d'abord ouvrez votre éditeur de texte favoris (par exemple Gedit) et copiez y ceci :

<code>
#!/bin/sh

export TM_PATH=~/.wine/drive_c/Program\ Files/TmNationsForever   # Chemin d'installation de Trackmania.
export WINE_PATH=~/.wine   # Chemin du dossier de wine à utiliser.

sudo true || ( exit 1 ) # Valider le mot de passe.
sudo X :3 -ac -terminate &   # Démarre un nouveau serveur X.
sleep 2   # Attend 2 secondes que le serveur X soit prêt.
cd "${TM_PATH}"   # Cible le répertoire de Trackmania (celui défini avant).

DISPLAY=:3 WINEPREFIX=$WINE_PATH WINEDEBUG=-all wine TmForeverLauncher.exe -opengl
# Lance Wine et Trackmania avec le paramètre OpenGL sans afficher les erreurs dans le terminal et en utilisant le dossier de wine défini avant.
</code>

<note>Pensez à verifier que les chemins indiqués dans le script correspondent à votre installation !</note>

Puis enregistrez le dans votre dossier personnel avec l'extension ".sh" (ex: trackmania.sh)

Vous devez maintenant rendre votre nouveau script executable. Pour cela, tapez ceci dans un terminal :

<code>chmod +x votre_script.sh</code>

Enfin dernière étape, tapez également ceci dans votre terminal (afin d'avoir le son) :

<code>sudo adduser [votre_nom_d'utilisateur_sans_les_crochets] audio</code>

Voila, c'est terminé, vous pouvez maintenant jouer à Trackmania en utilisant la commande:

<code>sh votre_script.sh</code>

Vous devrez ensuite tapper le mot de passe administrateur [sudo] pour avoir le droit de démarrer un nouveau serveur X.

<note>
Pour que cette technique fonctionne vous devez décocher l'option "émuler un bureau virtuel" dans le panneau de configuration de wine (winecfg). 
Pour revenir à votre bureau sans quitter le jeu tapez **Ctrl+Alt+F7**, et pour rebasculer vers le jeu tapez **Ctrl+Alt+F9**.
</note>
===== Jouer en écran partagé =====

Je pense que beaucoup de monde a déjà fait cette réflexion: c'est vraiment dommage qu'on ne peut pas jouer à Trackmania sur le même ordinateur en écran partagé! Mais avec linux, c'est possible! :-D

<note important>Pour jouer en écran partagé, vous devez absolument posséder un joystick, un pad, ou autre manette de jeu. Sans cela, il vous sera impossible de vous déplacer avec tous les joueurs car le clavier peut en contrôler qu'un seul.</note>


Pour commencer, vous devez créer un deuxième profil dans Trackmania //(ou plus, car il vous faut un profil par joueur)//. Pour cela, vérifiez dans les options du //Launcher// que l'option Profil est sur: Utiliser plusieurs profils. Démarrez le jeu, cliquez sur: Créer un nouveau profil, puis quittez le jeu.

Trackmania refuse de lancer 2 fois le jeu, si vous le démarrez une deuxième fois, ça vous affichera la fenêtre où le premier est lancé. Pour contourner cela, il faut créer plusieurs prefix wine (il en faut un par joueur). Pour cela:

<code>WINEPREFIX=~/.wine_trackmania regedit </code>

Cette commande va créer un nouveau prefix wine (appelé wine_trackmania) dans votre dossier personnel et ouvre l'éditeur de registre (regedit) pour ce prefix. //Si vous voulez modifier le registre pour ce prefix vous pouvez le faire maintenant, par exemple pour mettre des options dans HKEY_CURRENT_USER → Software → Wine → Direct3D.//
Pour jouer à 3 joueurs, vous devez créer encore un autre prefix wine mais appelez le par exemple: "wine_trackmania2". La commande sera:

<code>WINEPREFIX=~/.wine_trackmania2 regedit </code>

Maintenant, nous allons créer un script, pour faciliter le lancement de Trackmania en écran partagé. Pour cela créez un nouveau fichier que vous nommez //trackmania_multi.sh//, par exemple avec nano:

<code>nano trackmania_multi.sh</code>

Voici ce que vous devez écrire dedans:
<file>
#!/bin/sh

IFS="\0" 
TRACKMANIA_EXE="TmForever.exe"    # Le nom de l'exécutable Trackmania
TRACKMANIA_DIR="$HOME/.wine/drive_c/Program Files/TmUnitedForever/"    # Le répertoire de Trackmania
WINEPREFIX_JOUEUR1="$HOME/.wine"    # Le prefix wine à utiliser pour le 1er Trackmania lancé
WINEPREFIX_JOUEUR2="$HOME/.wine_trackmania"    # Le prefix wine à utiliser pour le 2ème Trackmania lancé

# Dé-commentez la ligne suivante (enlever le "#" au début) pour ajouter un 3ème joueur
#WINEPREFIX_JOUEUR3="$HOME/.wine_trackmania2"   

cd "$TRACKMANIA_DIR"    # Va dans le répertoire de Trackmania
# Démarre les bureaux wine avec Trackmania
WINEDEBUG=-all WINEPREFIX=$WINEPREFIX_JOUEUR1 wine explorer /desktop=Joueur1  $TRACKMANIA_EXE $* &
WINEDEBUG=-all WINEPREFIX=$WINEPREFIX_JOUEUR2 wine explorer /desktop=Joueur2  $TRACKMANIA_EXE $* &

# Dé-commentez la ligne suivante (enlever le "#" au début) pour ajouter un 3ème joueur
#WINEDEBUG=-all WINEPREFIX=$WINEPREFIX_JOUEUR3 wine explorer /desktop=Joueur3  $TRACKMANIA_EXE $* &

</file>
N'oubliez pas de vérifier le chemin d'installation de Trackmania et le chemin vers les prefix wine. Si vous préférer démarrer le Launcher plutôt que directement le jeu, remplacez le nom de l'exécutable par "TmForeverLauncher.exe". Ensuite, rendez ce script exécutable:
<code>chmod +x trackmania_multi.sh</code>

Maintenant, démarrez normalement le //Launcher// de Trackmania et changez la résolution du plein écran en //800x600// ou une autre taille pour que deux fenêtres de Trackmania puissent passer sur votre écran. Ajustez les préférences si vous le désirez, puis quittez le //Launcher//.

Exécutez votre script pour démarrer le jeu en écran partagé.
Un des deux joueur doit aller dans la configuration des contrôles pour définir les touches de votre manette de jeu. Vérifiez ensuite que la configuration de l'autre joueur n'utilise pas les touches de cette manette.

Vous pouvez ensuite créer un serveur (local ou internet) avec un des deux jeux. Rejoignez ce serveur avec l'autre jeu (via le réseau local, même si vous avez créé le serveur sur internet). Vous pouvez aussi créer un [[serveur_trackmania|serveur dédié]] et le rejoindre via le réseau local.

Si vous voulez rejoindre un serveur via internet vous devez utiliser des logins réseau différents pour chaque joueur.

<note important>Le deuxième Trackmania lancé n'utilisera pas le port configuré mais le suivant, car le port configuré est déjà utilisé par le premier Trackmania. En conséquence, si vous créez un serveur accessible depuis internet, créez-le avec le premier jeu lancé ou adaptez votre redirection de ports.</note>



<note tip>Pour gagnez de la place sur votre écran, demandez à votre gestionnaire de fenêtre de masquer les bordures des fenêtres de Wine.</note>

===== Installation serveur Trackmania =====

L'installation d'un serveur (qui est compatible linux) est très plaisant surtout si vous avez créé une team ou un club sur [[http://www.eswc.com/france/main.php|ESWC]] car il existe une version Linux du Serveur dédié Trackmania. Pour plus d'information visitez la page [[serveur trackmania]].

===== Utilisation =====
=== Commandes ===
Voici les principale touches dont vous aurez besoin pendant le jeu:
| Flèches | diriger la voiture |
| Entrée  | repartir de la dernière porte|
| Backspace | recommencer depuis le début |
| Tab | regarder le classement |
| ² | afficher/effacer les noms des adversaires |
| Touche 0 du pavé numérique| klaxon! |
| o | cacher/voir les autres voitures |

=== Personnalisation du pseudo ===
Pour ajouter des couleurs à votre pseudo, écrivez $fff suivi de votre pseudo (le premier f pour le rouge, le deuxième pour le vert et le troisième pour le bleu). Les valeurs vont de 0 à f (0123456789abcdef). Voici un aperçu de quelques couleurs disponibles:

{{:codecouleur.png?400x300}}

Vous pouvez aussi utiliser //$i// pour //italique//, //$w// pour **gras**, //$n// pour texte serré et //$s// pour ombré. Si vous voulez écrire un $, vous devez mettre //$$//.
Pour tout réinitialiser, utilisez //$z//.

Amusez vous bien ;-)